/*******************************************************************************
* Copyright (c) 2009 EclipseSource and others. All rights reserved. This
* program and the accompanying materials are made available under the terms of
* the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* EclipseSource - initial API and implementation
*******************************************************************************/
package org.eclipse.rap.interactiondesign.tests.impl;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.rap.ui.interactiondesign.ConfigurableStack;
import org.eclipse.rap.ui.interactiondesign.ConfigurationAction;
import org.eclipse.rap.ui.interactiondesign.internal.ConfigurableStackProxy;
import org.eclipse.ui.internal.util.PrefUtil;
import org.eclipse.ui.preferences.ScopedPreferenceStore;
public class ConfigurationActionImpl extends ConfigurationAction {
/**
* Helper method to check if all view contrib items are visible by default.
* @return true if all items are visible by default.
*/
public static boolean allActionsVisible() {
return visibility;
}
private static boolean visibility = false;
public void setGlobalVisibilityAttribute( final boolean visibility ) {
ConfigurationActionImpl.visibility = visibility;
}
public ConfigurationActionImpl() {
}
public boolean isViewActionVisibile( final String viewId,
final String actionId )
{
boolean result = true;
if( !allActionsVisible() ) {
String identifier = getActionIdentifier( viewId, actionId );
ScopedPreferenceStore prefStore
= ( ScopedPreferenceStore ) PrefUtil.getAPIPreferenceStore();
result = prefStore.getBoolean( identifier );
}
return result;
}
public boolean isPartMenuVisible() {
boolean result = true;
if( !allActionsVisible() ) {
if( getStackPresentation() instanceof ConfigurableStack ) {
ConfigurableStack configStack
= ( ConfigurableStack ) getStackPresentation();
String paneId = configStack.getPaneId( getSite() );
String identifier = getPartMenuIdentifier( paneId );
result = loadPartmenuVisibility( identifier );
}
}
return result;
}
private boolean loadPartmenuVisibility( final String identifier ) {
boolean result = false;
IPreferenceStore preferenceStore = PrefUtil.getAPIPreferenceStore();
result = preferenceStore.getBoolean( identifier );
return result;
}
private String getActionIdentifier( final String viewId,
final String actionId )
{
return
ConfigurableStackProxy.STACK_PRESENTATION_ID
+ "/"
+ viewId
+ "/"
+ actionId;
}
private String getPartMenuIdentifier( final String paneId ) {
return
ConfigurableStackProxy.STACK_PRESENTATION_ID
+ "/"
+ paneId
+ "/partMenu";
}
}